home *** CD-ROM | disk | FTP | other *** search
- 10 Z=1:IFA=.THENA=1:D=PEEK(186):LOAD"FORMATML",D,1
- 15 POKE2053,65:POKE55,.:POKE56,160:CLR:DIMT(44):V=53248:W=V+1:SYS58648:PRINT
- 20 Z$=CHR$(.):PRINT"ENTER DEVICE NUMBER.":PRINT"(PRESS <RETURN> TO EXIT.)"
- 25 D=.:INPUTD:IFD=.THENEND
- 30 IFD<4ORD>30THENPRINT"[147]ILLEGAL DEVICE NUMBER":GOTO20
- 35 OPEN15,D,15:CLOSE15:IFSTTHENPRINT"[147]DEVICE";D;"[157] NOT PRESENT":GOTO20
- 40 OPEN15,D,15,"UJ":FORI=1TO2000:NEXT:INPUT#15,B$,A$,B$,B$:CLOSE15
- 45 IFRIGHT$(A$,4)<>"1541"THENPRINT"[147]NOT 1541 DRIVE":GOTO20
- 50 M$=CHR$(13):POKE2,D:PRINT"[147]"
- 55 PRINT"PRESS F TO FORMAT DISK":PRINT"PRESS T TO FORMAT ONE TRACK."
- 60 PRINT"PRESS W TO WRITE TO SECTOR.":PRINT"PRESS R TO READ FROM SECTOR."
- 65 PRINT"PRESS S TO SWAP SECTORS.":PRINT"PRESS I TO INITIALIZE DISK."
- 70 PRINT"PRESS E TO READ ERROR CHANNEL.":PRINT"PRESS C TO CLEAR PAGE 201."
- 75 PRINT"PRESS H FOR HEX DUMP OF PAGE 201.":PRINT"PRESS X TO EXIT."
- 80 GETA$:A=ASC(A$+Z$):ON-(A=73)-2*(A=69)-3*(A=13)-4*(A=67)GOTO250,350,450,998
- 85 ON-(A=83)-2*(A=84)-3*(A=87)-4*(A=82)-5*(A=70)GOTO120,200,300,400,500
- 90 ON-(A=88)-2*(A=72)GOTO997,999
- 95 GOTO80
- 100 OPEN15,D,15:INPUT#15,J$,O$,H$,N$:CLOSE15
- 110 PRINT"[147]";J$;", ";O$;",";H$;",";N$:RETURN
- 120 PRINT"[147]ENTER TRACK # (1 TO 44) OF FIRST BLOCK."
- 125 T=-1:INPUTT:IFT<.THEN50
- 130 IFT=.ORT>44THEN120
- 135 PRINT"ENTER SECTOR # OF FIRST BLOCK."
- 140 S=-1:INPUTS:IFS<.THEN120
- 145 IFS>20THEN135
- 150 IF(T>30)*(S>16)+(T>24)*(S>17)+(T>17)*(S>18)THEN135
- 155 POKE140,T:POKE141,S
- 160 PRINT"ENTER TRACK # (1 TO 44) OF SECOND BLOCK."
- 165 T=-1:INPUTT:IFT<.THEN120
- 170 IFT=.ORT>44THEN160
- 175 PRINT"ENTER SECTOR # OF SECOND BLOCK."
- 180 S=-1:INPUTS:IFS<.THEN160
- 185 IFS>20THEN175
- 190 IF(T>30)*(S>16)+(T>24)*(S>17)+(T>17)*(S>18)THEN175
- 195 POKE142,T:POKE143,S:SYS49158:GOSUB100:GOTO55
- 200 PRINT"[147]ENTER DISK ID (TWO CHARACTERS)."
- 205 INPUTA$:IFLEN(A$)<2THEN50
- 210 POKE49476,ASC(A$):POKE49480,ASC(MID$(A$,2))
- 215 PRINT"ENTER TRACK NUMBER (1 TO 44)."
- 220 INPUTT:IFT<1ORT>44THEN215
- 225 POKE49575,T:SYS49161:GOSUB100:GOTO55
- 250 OPEN15,D,15,"I":CLOSE15:GOSUB100:GOTO55
- 300 PRINT"[147]ENTER TRACK NUMBER (1 TO 44)."
- 305 T=-1:INPUTT:IFT<.THEN50
- 310 IFT=.ORT>44THEN300
- 315 PRINT"ENTER SECTOR NUMBER."
- 320 S=-1:INPUTS:IFS<.THEN300
- 325 IFS>20THEN315
- 330 IF(T>30)*(S>16)+(T>24)*(S>17)+(T>17)*(S>18)THEN315
- 335 POKE50641,T:POKE50645,S:SYS49167
- 350 GOSUB100:GOTO55
- 400 PRINT"[147]ENTER TRACK NUMBER (1 TO 44)."
- 405 T=-1:INPUTT:IFT<.THEN50
- 410 IFT=.ORT>44THEN400
- 415 PRINT"ENTER SECTOR NUMBER."
- 420 S=-1:INPUTS:IFS<.THEN400
- 425 IFS>20THEN415
- 430 IF(T>30)*(S>16)+(T>24)*(S>17)+(T>17)*(S>18)THEN415
- 435 POKE50120,T:POKE50124,S:SYS49164
- 440 PRINT"[147]";:SYS62913:GOTO55
- 450 PRINT"[147]":GOTO20
- 500 RESTORE:PRINT"[147][197]NTER DISK [201][196] (TWO-CHARACTERS MAXIMUM)."
- 505 INPUTA$:IFLEN(A$)<2THENPRINT"[142]":GOTO50
- 510 A=ASC(A$):POKE49183,A:POKE49787,A:A=ASC(MID$(A$,2)):POKE49187,A:POKE49791,A
- 515 Z=36:POKE2040,15:FORI=960TO1022:READY:POKEI,Y:NEXT:X=56:Y=74:POKEV+16,.
- 520 POKEV+39,15:POKEV+21,1:POKEV+23,.:POKEV+29,.:POKEV+27,.:POKEV,X:POKEW,Y
- 525 PRINT"[147] [212][210][193][195][203]":PRINT" ! [163][163][163][163][163]"
- 530 PRINT" ";:FORI=1TO11:GOSUB970:PRINTA$;:NEXT
- 535 PRINT" "
- 540 PRINT" ";:FORI=12TO22:GOSUB970:PRINTA$;:NEXT
- 545 PRINT" "
- 550 PRINT" ";:FORI=23TO33:GOSUB970:PRINTA$;:NEXT
- 555 PRINT" "
- 560 PRINT" ";:FORI=34TO44:GOSUB970:PRINTA$;:NEXT
- 565 PRINT" ":
- 570 PRINT"[198]ORMATTED TRACKS ARE IN [210][197][214][197][210][211][197] [214][201][196][197][207][146]."
- 575 PRINT"[208]UT CURSOR ONTO DESIRED TRACK, USING"
- 580 PRINT" CURSOR CONTROL KEYS."
- 585 PRINT"[208]RESS <[211][208][193][195][197]> TO TOGGLE TRACK."
- 590 PRINT"[208]RESS A TO SELECT ALL TRACKS."
- 595 PRINT"[208]RESS N FOR NO TRACKS."
- 600 PRINT"[208]RESS <[210][197][212][213][210][206]> WHEN READY TO FORMAT.";
- 605 GETA$:IFA$="[145]"THENY=Y-16:GOTO650
- 610 IFA$=""THENY=Y+16:GOTO650
- 615 IFA$="[157]"THENX=X-24:GOTO650
- 620 IFA$=""THENX=X+24:GOTO650
- 625 IFA$="A"THENZ=45:GOTO525
- 630 IFA$="N"THENZ=.:GOTO525
- 635 IFA$=" "THEN695
- 640 IFA$=M$THEN705
- 645 GOTO605
- 650 IFX=32THENIFY=74THENX=56
- 655 IFX=320THENIFY=122THENX=296
- 660 IFX=320THENX=56:Y=Y+16
- 665 IFX=32THENX=296:Y=Y-16
- 670 IFY=138THENY=122
- 675 IFY=58THENY=74
- 680 IFX>255THENPOKEV+16,1
- 685 IFX<256THENPOKEV+16,.
- 690 POKEV,XAND255:POKEW,Y:GOTO605
- 695 Q=1148+5*(Y-74)+(X-56)/8:POKEQ,(PEEK(Q)+128)AND255
- 700 POKEQ+1,(PEEK(Q+1)+128)AND255:GOTO605
- 705 I=1:J=.:FORI=ITOI+10:T(I)=.:Q=1145+3*I:IF(PEEK(Q)AND128)THENT(I)=1:J=I
- 710 NEXT
- 715 FORI=ITOI+10:T(I)=.:Q=1192+3*I:IF(PEEK(Q)AND128)THENT(I)=1:J=I
- 720 NEXT
- 725 FORI=ITOI+10:T(I)=.:Q=1239+3*I:IF(PEEK(Q)AND128)THENT(I)=1:J=I
- 730 NEXT
- 735 FORI=ITOI+10:T(I)=.:Q=1286+3*I:IF(PEEK(Q)AND128)THENT(I)=1:J=I
- 740 NEXT
- 745 POKEV+21,0:PRINT"[147][201]F YOU PRESS F, THE DISK IN DEVICE";D
- 750 PRINT"WILL BE FORMATTED, ACCORDING TO THE"
- 755 PRINT"PRECEDING MAP. [193]NY DATA ON THE DISK"
- 760 PRINT"WILL BE IRRETRIEVABLY LOST. [212]HE DISK"
- 765 PRINT"SHOULD NOT BE WRITE-PROTECTED."
- 770 PRINT"[207]N THE OTHER HAND, YOU CAN PLAY IT"
- 775 PRINT"SAFE, BY PRESSING X TO EXIT."
- 780 GETA$:IFA$="F"THEN795
- 785 IFA$="X"THENPRINT"[142]":END
- 790 GOTO780
- 795 IFJ=.THEN825
- 800 PRINT"[147][207]NE MOMENT PLEASE...":POKE49329,T(1):SYS49152:IFPEEK(150)THEN830
- 805 IFJ=1THEN825
- 810 FORI=2TOJ:POKE49967,T(I):SYS49155:IFPEEK(150)THENI=45
- 815 NEXT:IFI=46THEN830
- 820 IFT(18)THENGOSUB835
- 825 GOSUB100
- 830 PRINT"[142]";:OPEN15,D,15,"I":CLOSE15:GOTO20
- 835 N$="":PRINT"[197]NTER DISKNAME.":INPUTN$:IFN$=""THENRETURN
- 840 OPEN15,D,15:OPEN9,D,9,"#":Y$=CHR$(1)
- 845 PRINT#15,"M-W";Y$;Y$;Y$;"A"
- 850 PRINT#15,"B-P";9;.
- 855 PRINT#9,"";Y$;"A";Z$
- 860 PRINT#15,"U2";9;.;18;.:PRINT#15,"N0:";N$:CLOSE15:CLOSE9:RETURN
- 900 DATA255,255,.,128,1,.,128,1,.
- 910 DATA128,1,.,128,1,.,128,1,.
- 920 DATA128,1,.,255,255,.,.,.,.
- 930 DATA.,.,.,.,.,.,.,.,.
- 940 DATA.,.,.,.,.,.,.,.,.
- 950 DATA.,.,.,.,.,.,.,.,.
- 960 DATA.,.,.,.,.,.,.,.,.
- 970 A$=MID$(STR$(I),2):IFLEN(A$)=1THENA$="0"+A$
- 980 IFI<ZTHENA$=""+A$+"[146]"
- 990 A$=A$+" ":RETURN
- 997 PRINT:END
- 998 SYS6946:GOTO50
- 999 PRINT"[147]";:SYS6956:PRINT" [208]RESS <[210][197][212][213][210][206]>.[146]";
- 1000 GETA$:IFA$<>M$THEN1000
- 1010 PRINT"[142]":GOTO50
-